1. Field of the Invention
This invention relates to the field of application development. In particular, the invention relates to technologies for developing interactive telephone applications.
2. Description of the Related Art
Prior techniques for developing telephone applications have required the application developer, also known as a programmer, to use specialized development software and/or hardware. For example, if a developer wanted to create phone applications using Nuance™ voice recognition software, from Nuance Communications, Menlo Park, Calif., they would have to set up a specialized development computer system, obtain the required telephony equipment, obtain suitable development tools (e.g. compilers), as well as obtain and install the necessary speech recognition system.
This cumbersome process drastically limits the number of people who can develop and deploy phone applications. Further, the software license fees and hardware costs associated with obtaining the necessary tools limit who can be a developer. For example, an individual developer might need to obtain, configure, and have licenses to a variety of tools including: a speech recognizer, a speech programming toolkit, the target interactive voice response (IVR) system or telephony cards, a compiler, a comprehensive understanding of the grammars supported by the speech recognizer, and/or other specialized materials.
Further, emerging standards such as VoiceXML, see <http://www.voicexml.org/>, do not come pre-packaged with programming tools and development environments. This is in stark contrast to other World Wide Web Consortium (W3C) standards such as hypertext markup language (HTML) which is widely deployed in browsers such as Internet Explorer™ from Microsoft Corporation, Redmond, Wash. Further, like HTML, specific platforms may provide implementation specific features that differ slightly from one provider to another.
The prior approaches to phone application development required proprietary tools that limited the ability of individuals to rapidly develop phone applications without specialized software and/or hardware. Accordingly, what is needed is a method and apparatus for developing phone applications that allows users with standard hardware and software, e.g. personal computer with Internet access, and a telephone to develop phone applications. The method and apparatus should support debugging of telephone applications as well as shared code reuse of VoiceXML components, grammars, audio prompts, sound files, and/or other phone application features. Further, the method and apparatus should minimize the need for the developer to understand the intricacies related to defining grammars by allowing the developer to easily define grammars in their phone applications and also leverage packaged grammars. Further, the method and apparatus should support rapid deployment of a phone application into a hosted environment for use by end users of the application.